1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
| #!/bin/bash #oracle 11gR2 rdbms
#声明oracle环境变量 export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=$ORACLE_BASE/product/11.2.0.4/dbhome_1 #声明主机名 export HOST_NAME=`hostname` #声明日期,用于删除几天前的文件 export DAYS=7
#一台服务器装有多个实例,可使用循环进行删除 for dbname in instancea instanceb do export DB_NAME=$dbname export DB_UNIQUE_NAME=${DB_NAME} export ORACLE_SID=${DB_NAME} #当前实例为rac模式节点1,启用该变量 #export ORACLE_SID=${DB_NAME}1 #当前实例为rac模式节点2,启用该变量 #export ORACLE_SID=${DB_NAME}2
#指定存放日志的路径 DIAGNOSTIC_DEST=${ORACLE_BASE}
#如果audit_trail_dest的一个默认值不生效,会使用下面第二个默认值: AUDIT_FILE_DEST=${ORACLE_BASE}/admin/${DB_NAME}/adump
#删除audit_trail_dest第一个默认值下的审计日志,并删除7天前的日志 find ${ORACLE_HOME}/rdbms/audit -name "${ORACLE_SID}_*.aud" -mtime +${DAYS} -exec rm -f {} \; #如果audit_trail_dest的一个默认值不生效,查找第二个默认值下的审计日志,并删除7天前的日志: find ${AUDIT_FILE_DEST} -name "${ORACLE_SID}_*.aud" -mtime +${DAYS} -exec rm -f {} \; #删除指定路径alert下的文件 find ${DIAGNOSTIC_DEST}/diag/rdbms/${DB_UNIQUE_NAME}/${ORACLE_SID}/alert -name "log_[0-9]*.xml" -mtime +${DAYS} -exec rm -f {} \; #删除指定路径trace下的文件 find ${DIAGNOSTIC_DEST}/diag/rdbms/${DB_UNIQUE_NAME}/${ORACLE_SID}/trace -name "${ORACLE_SID}_*.tr[c|m]" -mtime +${DAYS} -exec rm -f {} \; find ${DIAGNOSTIC_DEST}/diag/rdbms/${DB_UNIQUE_NAME}/${ORACLE_SID}/trace -name "cdmp_*" -mtime +${DAYS} -exec rm -rf {} \; done
|